/**
 * This is the Model component of the game, which holds some of the key method
 * names that can be used by the controller.
 * 
 * @author Nick Popescu
 * @version 1.0
 */

public interface Model {

    /**
     * Creates a player, though it is actually just adding the Name and Skills
     * to the player which was previously made.
     * 
     * @param name
     *            The name of the player.
     * @param initSkillTable
     *            The array of skills for this player.
     */
     void createPlayer(String name, int[] initSkillTable);

    /**
     * Assigns the given ship to the Player.
     * 
     * @param ship
     *            The ship to be assigned to the player.
     */
    void setPlayerShip(Ship ship);

    /**
     * Used to access the player's ship.
     * 
     * @return The player's ship.
     */
    Ship getPlayerShip();
}
